B Binance · The world's largest crypto exchange — sign up and claim your benefits Sign up → AD
📈 Stock analysis tools

📊 Stock Buy & Sell Signals

Buy, neutral and sell signals from 26 indicators on Korean, US and Japanese stocks, each with its rule, value and track record. Yahoo Finance data. Not advice.

Loading Data: Yahoo Finance (via our server, may be delayed)
Calculate on
–
–

Combined indicator signal

Summary (26 indicators)
–
Oscillators (11)
–
Moving averages (15)
–

This adds up 26 fixed indicator rules. It is not a recommendation; read it together with the track record below.

15m uses the last month of bars, 1H the last year, and 1D and 1W the last ten years. They refresh every 60 seconds while the market is open. Tap one to switch to it.

Chart

EMA20EMA50EMA200
RSI(14) · 70 / 30
MACD(12, 26, 9)Signal

● markers: closed bars where the summary rating turned 'Strong buy' (below the bar) or 'Strong sell' (above the bar), after bar 200. What followed them is in the Strong buy and Strong sell rows of the track record below. Chart times are in this device's time zone.

Reading the chart now

Loading…

The current values put into words. It says nothing about where price goes next.

Oscillators (11)

IndicatorValueSignalRule · now

Moving averages (15)

IndicatorValueSignalRule · now

Tap a row to see what that indicator measures.

Track record: what happened after each rating

Calculating…
Summary rating (closed bar) Bars (non-overlapping) – Avg change vs all bars

Each closed bar is rated using only data available at that bar, then compared with the close a fixed number of bars later (dividend- and split-adjusted close on 1D and 1W, plain close on intraday bars). Consecutive bars share overlapping windows, so the samples are not fully independent. The number in brackets counts samples without overlap (after using one, the next N−1 bars are skipped); rows where it is below 30 are greyed out. Fees and taxes are not included. Past rates do not guarantee future ones.

Method: how the signals are calculated

How the summary rating is set

Each of the 26 indicators returns buy (+1), neutral (0) or sell (−1). The 15 moving averages and the 11 oscillators are averaged separately, and the summary score (−1 to +1) is the average of those two. Indicators without a value are left out of the average.

  • Strong sell: score below −0.5
  • Sell: −0.5 up to (not including) −0.1
  • Neutral: −0.1 to 0.1 inclusive
  • Buy: above 0.1 up to 0.5
  • Strong buy: above 0.5 (the same boundaries as TradingView's Technical Ratings)

15 moving averages

SMA 10, 20, 30, 50, 100, 200; EMA 10, 20, 30, 50, 100, 200; VWMA 20; HMA 9: close above the line is buy, below is sell, equal is neutral. Ichimoku (9, 26, 52): price above the cloud (leading spans A and B at the current bar) with the conversion line above the base line is buy; below the cloud with the conversion line below the base line is sell; anything else is neutral. VWMA 20 is weighted by volume, so for currencies (USD/KRW and others) and the intraday bars of some indices (Nikkei 225, Hang Seng and others), whose data has no volume, it has no value and is left out of the average.

11 oscillators

  • RSI(14): below 30 and higher than the previous bar → buy; above 70 and falling → sell
  • Stochastic %K(14, 3, 3): %K crosses above %D while below 20 → buy; crosses below while above 80 → sell
  • CCI(20): below −100 and rising → buy; above 100 and falling → sell
  • ADX(14, 14): when ADX is above 20 and rising, +DI > −DI → buy, −DI > +DI → sell
  • Awesome Oscillator: crosses above zero, or a saucer above zero (two bars ago > previous < now) → buy; the mirror → sell
  • Momentum(10): higher than the previous bar → buy; lower → sell
  • MACD(12, 26, 9): MACD line above the signal line → buy; below → sell
  • Stochastic RSI(3, 3, 14, 14): K crosses above D with both below 20 → buy; crosses below with both above 80 → sell
  • Williams %R(14): below −80 and rising → buy; above −20 and falling → sell
  • Bull Bear Power(13): EMA13 rising and bear power below 0 and rising → buy; EMA13 falling and bull power above 0 and falling → sell
  • Ultimate Oscillator(7, 14, 28): above 70 → buy; below 30 → sell

Differences small enough to be rounding error (one ten-billionth of the price for price-scale values, or 0.000000001 for oscillator values such as RSI and CCI) count as equal.

What calculating on the forming bar means

With "Live bar", the last bar that has not finished yet (today's daily bar during the session, this week's weekly bar and so on) is included at its current price. While the market is open the page fetches prices again every 60 seconds and recalculates, so the signal can change before the bar closes. "Closed bars" uses only bars that have finished. Outside trading hours the last bar is finished too, so the two give the same result. The track record and the chart markers always use closed bars.

How the track record is measured

For every loaded closed bar, the summary rating is computed from the data up to that bar, and the page counts whether the close N bars later was higher. N is 26 bars on 15m (one 6.5-hour US regular session; Yahoo Finance's Korean intraday data has 24 bars a day and Tokyo's 23, so a little over a day there), 7 on 1H (≈ one day), 20 on 1D (≈ one month) and 8 on 1W. Daily and weekly bars are compared on the dividend- and split-adjusted close; intraday bars have no adjusted close, so they use the plain close. Counting starts at bar 200, the first bar where the 200-bar moving averages exist. Consecutive bars share overlapping windows, so the page also counts samples without overlap (k); when the gap from the all-bars rate is smaller than roughly 100/√k points, it says a gap that size often arises by chance. Fees and taxes are not included.

Numbers in the chart reading

EMA 20, 50 and 200; RSI(14); MACD(12, 26, 9); where the Bollinger Band (20, 2) width sits among the last 120 bars; ATR(14); the last closed bar's volume divided by the average of the 20 bars before it (only when the data has volume); classic pivots from the last completed trading day (P = (high + low + close) / 3, R1 = 2P − low, S1 = 2P − high); swing highs and lows (bars higher or lower than the 5 bars on each side).

Data

Our server fetches prices from Yahoo Finance and returns them from a cache shared by all visitors (the same values for 1 minute on intraday bars, 5 minutes on daily bars and 1 hour on weekly bars). It loads the last month of 15m bars, the last year of 1H bars and the last ten years of 1D and 1W bars (Yahoo Finance returns 15m bars for 60 days and 1H bars for 730 days only). Depending on the exchange, prices can be 15–20 minutes late or more, so the time of the latest price is shown next to it in that exchange's local time. While the market is open the page fetches again every 60 seconds; after the close it keeps taking the late final prices for 45 minutes and then stops refreshing (after that it only checks every 10 minutes whether trading has started). If the server briefly turns requests away because too many arrive at once, it tries again after 30 seconds. The single "current price" point and the closing-print point that Yahoo Finance appends to the end of the data are merged into their bar instead of being counted as separate bars. When the daily data does not have the latest trading day's bar yet (it happens now and then), the change vs previous close uses that day's last intraday close, and the page says the daily calculation runs only to the last bar in the data. KRW prices for US and Japanese stocks multiply by the USD/KRW (KRW=X) or JPY/KRW (JPYKRW=X) rate and are a reference only. Everything is calculated in your browser.

Where it may differ from TradingView

The framework (15 moving averages plus 11 oscillators) and the label boundaries match TradingView's Technical Ratings, but several rules differ from the ones in TradingView's help page.

  • Ichimoku: here it combines cloud position with the conversion and base lines
  • Stochastic: here only a bar where %K crosses %D counts, and %D's level is not checked (TradingView uses the state %K and %D both below 20 with %K > %D)
  • ADX: here a sell also requires ADX to be rising (TradingView's sell uses a falling ADX)
  • Stochastic RSI: no trend condition is applied
  • Awesome Oscillator saucer: all three bars must be above (or below) zero
  • Bull Bear Power: the trend is judged by the EMA13 slope

So the rating can differ on the same bar. Smoothed indicators such as EMA also start from the first loaded bar, so the last digits can differ slightly, and HMA rounds its half length down (9 → 4).

For information only, not investment advice. Prices come from Yahoo Finance via our server and may be delayed 15–20 minutes or more depending on the exchange, or interrupted. Charts: TradingView Lightweight Charts™

What this tool does

This tool runs 26 technical indicators (15 moving averages and 11 oscillators) through fixed, published rules on real prices for Korean, US and Japanese stocks, stock indices, ETFs, currencies and commodities. Each indicator returns a buy, neutral or sell signal, and they add up to a combined indicator signal. Every signal is shown next to the rule that produced it and the current value, and the same page shows the track record: how price actually moved after the same rating on this symbol and timeframe. Prices come from Yahoo Finance via our server, with the time of the latest price shown in the exchange's local time.

How it is calculated

Each indicator scores buy +1, neutral 0 or sell −1. The moving averages (SMA and EMA 10, 20, 30, 50, 100, 200, VWMA 20, HMA 9) are buy when the close is above the line and sell when it is below. Ichimoku (9, 26, 52) is buy only when price is above the cloud and the conversion line is above the base line, and sell only in the mirror case. The oscillators are RSI(14), Stochastic (14, 3, 3), CCI(20), ADX(14, 14), Awesome Oscillator, Momentum(10), MACD(12, 26, 9), Stochastic RSI (3, 3, 14, 14), Williams %R(14), Bull Bear Power(13) and Ultimate Oscillator (7, 14, 28). The two groups are averaged separately and then together into a summary score from −1 to +1: below −0.5 is Strong sell, from −0.5 up to but not including −0.1 is Sell, −0.1 to 0.1 inclusive is Neutral, above 0.1 up to 0.5 is Buy, and above 0.5 is Strong buy (the same boundaries as TradingView's Technical Ratings). The page uses the last month of 15m bars, the last year of 1H bars and ten years of 1D and 1W bars, and fetches and recalculates every 60 seconds while the market is open. The track record rates every closed bar using only data up to that bar and counts how often the close N bars later was higher (26 bars on 15m, 7 on 1H, 20 on 1D, 8 on 1W; daily and weekly bars use the dividend- and split-adjusted close).

Reading the screen, section by section

Symbol search, timeframe and basis

Type a name or code to search the lists of large Korean, US and Japanese stocks, Korean and global indices, ETFs, FX and commodities; a six-digit number is offered as a KOSPI or KOSDAQ code and a four-digit one as a Tokyo code. The quick buttons are Samsung Electronics, SK hynix, KOSPI, S&P 500, Nasdaq Composite, Nvidia, Tesla and Toyota. Timeframes are 15 minutes (last month), 1 hour (one year), daily and weekly (ten years). With 'include forming bar' the current price of the unfinished bar is used, so the rating can change until the bar ends; 'closed bars only' stops at the last finished bar and stays fixed for a whole bar. Symbol, timeframe and basis are kept in the address, so a link reopens the same view. A weekly bar counts as forming until Saturday 00:00 of that week even when the market is closed.

Price header — timestamp and delay

The price under the name is the most recent quote among the four timeframes, and the change compares it with the close of the trading day before that quote's day. Below it, the timestamp shows exchange-local time with the city and whether the market is open or closed. Quotes come from a shared server cache that renews every minute for intraday bars, five minutes for daily and an hour for weekly; Korean and Japanese quotes arrive about 20 minutes late, and US symbols can also be delayed depending on the exchange. The US regular session runs 9:30 to 16:00 New York time, which is late night to early morning in Korea; the Korean market runs 9:00 to 15:30. Korean stocks have a ±30% daily price limit; individual US stocks have no daily limit. US and Japanese stocks and ETFs show a KRW reference value, and if the source stops responding briefly a 'cached values' notice appears.

Combined indicator signal — three gauges

Left is the combined rating of 26 indicators, centre the 11 oscillators, right the 15 moving averages. Each indicator scores buy +1, neutral 0 or sell −1; the two group averages are averaged again into a score from −1 to +1 that moves the needle. Below −0.5 is strong sell, below −0.1 sell, within ±0.1 neutral, above 0.1 buy and above 0.5 strong buy. Under each gauge you see the buy, neutral and sell counts and how many indicators were left out for lack of bars or volume data. The line below summarises how this rating has fared before on this symbol. When watching live, counts tipping one or two at a time show up before the needle swings. Moving averages pile to one side in a trend while oscillators are mostly neutral, so the two gauges often disagree. A rating is a rule calculation, not a recommendation.

Per-timeframe summary row

The four boxes under the gauges show the combined rating for 15 minutes, 1 hour, daily and weekly side by side on the same basis. Clicking a box switches to that timeframe, and since the data is already loaded it draws at once. During the session all four timeframes are refetched over a short range every 60 seconds and stitched on, and the forming daily and weekly bars, whose cache is longer, have their close, high and low set to the latest intraday quote (volume is left as is). '…' means still loading; '–' means it failed and will be retried on the next refresh. Short bars change often and long bars rarely, so a 15-minute rating opposite to the weekly one is common and does not mean either is right. Watching whether the short timeframe falls in line with the long one, or the long rating itself flips, tells you more.

Chart — candles, moving averages, RSI and MACD

The top pane holds candles, volume and EMA20, EMA50 and EMA200; Bollinger Bands (20, 2) toggle with a button, and the choice is remembered in the browser. The middle pane is RSI(14) with dashed 70 and 30 lines, the bottom pane MACD(12, 26, 9) with signal and histogram, and the three panes move together. It first shows the latest 60 to 150 bars depending on width. During the session only the last candle and line ends are updated; when a new bar appears or an earlier bar is corrected, everything is redrawn. Dots mark bars where the closed-bar combined rating turned strong buy (below the bar) or strong sell (above), starting from the 200th bar. They mark where the rating changed, not where to trade, and what followed is counted separately in the track record. Chart times use this device's time zone and may differ from the exchange-time timestamp.

Reading the chart now

The current values are turned into five short paragraphs. Trend: whether price is above or below EMA20, 50 and 200 and whether the three lines are stacked bullishly or bearishly. Momentum: the RSI zone, MACD against its signal line and whether the histogram rose. Volatility: what share of up to the last 120 bars had a narrower Bollinger width (20% or less is a squeeze, 80% or more an expansion) plus ATR(14). Volume: the last closed bar against the prior 20-bar average, and the forming bar's multiple with how much of its time has elapsed. Levels: the classic pivot of the last completed trading day and the latest swing high and low. Volume of a forming bar is still building, so it is normally small early in the bar. The text describes the present; it does not say where price will go.

Oscillator (11) and moving average (15) tables

Each row gives the indicator's name, current value, signal, and the rule behind the signal with its current state. Clicking a row expands a note on what the indicator measures. Moving averages are simple — buy when the close is above the line, sell when below — while Ichimoku looks at the cloud and at the conversion and base lines together. Oscillators only give buy or sell at extremes that turn or on the bar where a cross happens, so mostly neutral readings are normal; the stochastic, for example, counts only the bar where %K crosses %D. When watching live, look for rows whose signal just changed and rows whose current state sits close to the threshold. Data without volume (FX and some index intraday bars) is rated without the volume-weighted moving average.

Track record table

From the 200th closed bar on, each bar is rated using only data up to that point, and for each rating the page counts how often the close N bars later was higher and the average change. N is 26 bars on 15-minute, 7 on hourly, 20 on daily and 8 on weekly; daily and weekly use closes adjusted for dividends and splits. Consecutive bars overlap, so a non-overlapping sample count is shown separately, and rows with fewer than 30 are dimmed. Within 3 percentage points of 'all bars' is called similar, and a gap smaller than chance alone could produce for that sample size is flagged as such. The table is recomputed only when a new bar closes, so seeing the same figures all session is normal. Fees and taxes are not included, and these shares promise nothing about the future.

Leaving it open

A good scanning order is the status and timestamp at the top, then the three gauges and their counts, the per-timeframe row, the right edge of the chart, table rows whose signal changed, and finally the track record line. While the market is open the page refetches every 60 seconds; after the close it keeps taking late quotes for another 45 minutes, then stops auto-refresh and only checks every 10 minutes whether the market has opened. If requests pile up or the connection drops, it retries after 30 seconds. The screen redraws at most once a second, and a hidden tab waits and redraws when you return. US indices and large caps trade during the Korean night, so first check that the timestamp is moving. It pairs well with a scanner that sweeps many symbols at once and an FX chart.

Things to know

Frequently asked questions

Does a buy signal mean I should buy?

No. Buy, neutral and sell on this page are the output of fixed rules, not anyone's opinion or recommendation. That is why the page also shows what happened after the same rating in the past. Those rates vary by symbol, timeframe and period, and they are often close to, or lower than, the rate for all bars.

Are the prices real-time?

No. Our server fetches prices from Yahoo Finance and serves them from a cache shared by all visitors, and depending on the exchange they can be 15–20 minutes late or more. While the market is open the page fetches again every 60 seconds, and it shows the time of the latest price in the exchange's local time. If the server briefly turns requests away because too many arrive at once, the page tries again automatically after 30 seconds.

Is this the same as TradingView's Technical Ratings?

The framework (15 moving averages plus 11 oscillators) and the label boundaries (±0.1, ±0.5) are the same, but several rules differ from TradingView's help page: Ichimoku (cloud position combined with the conversion and base lines), Stochastic (only bars where %K crosses %D count), ADX (a sell also needs a rising ADX), Stochastic RSI (no trend condition), the Awesome Oscillator saucer (all three bars above zero) and Bull Bear Power (trend judged by the EMA13 slope). The bar history and the data source differ too, so the rating can differ on the same bar.

How is the track record calculated?

Starting from bar 200 of the loaded history, every closed bar is rated using only data up to that bar. For each rating the page counts how often the close N bars later was higher and the average change. N is 26 bars on 15m (one US regular session; a little over a day for Korean and Japanese stocks), 7 on 1H (about a day), 20 on 1D (about a month) and 8 on 1W, and daily and weekly bars use the dividend- and split-adjusted close. Consecutive bars share overlapping windows, so the number of samples counted without overlap is shown separately; when the gap from the all-bars rate is smaller than what that many samples can produce by chance (roughly 100/√samples points), the page says so. Fees and taxes are not included.

For reference only, not investment advice. Prices are fetched from Yahoo Finance by our server and may be delayed.

📚 Worth reading
🕘US Stock Market Hours: Regular, Pre-Market and After-Hours Sessions in Korean Time→ ⚖️How Korean and US Stock Charts Differ: Price Limits, Trading Hours and Tick Sizes→ 📢Earnings and the Stock Chart: Pre-Market and After-Hours Reports and the Gaps They Leave→ ↕️Reading Gaps on US Stock Charts: Gap Ups, Gap Downs and Gap Fills→
← All stock tools